varying vec3 N;
varying vec4 v;
varying vec2 vTexCoord;
varying vec4 vColor;

void main(void) {
    // the position in eye coordinates
    v = vec4(gl_ModelViewMatrix * gl_Vertex);

    // the normal vector in eye coordinates
    N = normalize(gl_NormalMatrix * gl_Normal);

    // the position on the screen
    gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

    // the texture coordinates
    vTexCoord = gl_MultiTexCoord0.st;

    // the vertex color
    vColor = gl_Color;
}
